import { IPSEAIElement } from './ipseaielement';
import { IPSSysEAIElementAttr } from './ipssys-eaielement-attr';
import { IPSSysEAIElementRE } from './ipssys-eaielement-re';
import { IPSSysEAISchemeObject } from './ipssys-eaischeme-object';

/**
 *
 * @export
 * @interface IPSSysEAIElement
 */
export interface IPSSysEAIElement extends IPSSysEAISchemeObject, IPSEAIElement {
  /**
   * 集成元素属性集合
   *
   * @type {IPSSysEAIElementAttr[]}
   */
  getAllPSSysEAIElementAttrs(): IPSSysEAIElementAttr[] | null;

  /**
   * 集成元素属性集合
   *
   * @type {IPSSysEAIElementAttr[]}
   */
  get allPSSysEAIElementAttrs(): IPSSysEAIElementAttr[] | null;

  findPSSysEAIElementAttr(objKey: any): IPSSysEAIElementAttr | null;

  /**
   * 集成元素引用元素集合
   *
   * @type {IPSSysEAIElementRE[]}
   */
  getAllPSSysEAIElementREs(): IPSSysEAIElementRE[] | null;

  /**
   * 集成元素引用元素集合
   *
   * @type {IPSSysEAIElementRE[]}
   */
  get allPSSysEAIElementREs(): IPSSysEAIElementRE[] | null;

  findPSSysEAIElementRE(objKey: any): IPSSysEAIElementRE | null;
}
